package com.usefullc.extinguisher.query;

import com.usefullc.common.enums.QueryExpressTypeEnum;
import com.usefullc.common.enums.ValidTypeEnum;
import com.usefullc.system.query.BaseQuery;
import com.usefullc.system.validator.UsefulPropertyVerify;
import com.usefullc.system.service.component.extend.UsefulQueryField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 设备检查作业记录查询实体
 * @author: 星空
 * @date: 2022-09-08
 */
@ApiModel
@Data
public class FireDeviceAuditRecordQuery extends BaseQuery {

//useful_auto_generate_section_start

    @UsefulQueryField()
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "设备")
    private Long deviceId;

    @UsefulQueryField()
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "作业")
    private Long jobId;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "状态")
    private Integer status;

//    @UsefulQueryField(type = QueryExpressTypeEnum.GE, columnName = "gmtAudit")
//    @UsefulPropertyVerify()
//    @ApiModelProperty(notes = "检查时间开始")
//    private Date gmtAuditStart;
//
//    @UsefulQueryField(type = QueryExpressTypeEnum.LE, columnName = "gmtAudit")
//    @UsefulPropertyVerify()
//    @ApiModelProperty(notes = "检查时间结束")
//    private Date gmtAuditEnd;

    @UsefulQueryField()
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "检查人")
    private Long auditUserId;

    @UsefulQueryField()
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "批次号")
    private Long batchNo;


//useful_auto_generate_section_end

    @ApiModelProperty(notes = "作业ID")
    private List<Long> jobIds;

    @ApiModelProperty(notes = "最近天数")
    private Integer recentDay;

    @UsefulQueryField(type = QueryExpressTypeEnum.GE, columnName = "gmtAudit")
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "检查时间开始")
    private String gmtAuditStart;

    @UsefulQueryField(type = QueryExpressTypeEnum.LE, columnName = "gmtAudit")
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "检查时间结束")
    private String gmtAuditEnd;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=2, maxLen=32)
    @ApiModelProperty(notes = "编码")
    private String code;

    @UsefulQueryField(type=QueryExpressTypeEnum.LIKE,columnName = "code")
    @UsefulPropertyVerify(minLen=2, maxLen=32)
    @ApiModelProperty(notes = "编码")
    private String codeLike;
}
